.TH E1432_READ_FLOAT32_SPECTRUM 3 E1432
.SH NAME
e1432_read_float32_spectrum \- Request a frequency spectrum
.IX e1432_read_float32_spectrum(3) 3
.SH SYNOPSIS
.cS
SHORTSIZ16 e1432_read_float32_spectrum(E1432ID hw, SHORTSIZ16 ID,
                                       FLOATSIZ32 *buf, LONGSIZ32 size,
                                       struct e1432_trailer *trailer, 
                                       LONGSIZ32 *actualCnt)
SHORTSIZ16 e1432_read_float64_spectrum(E1432ID hw, SHORTSIZ16 ID,
                                       FLOATSIZ64 *buf, LONGSIZ32 size,
                                       struct e1432_trailer *trailer, 
                                       LONGSIZ32 *actualCnt)
.cE
.SH DESCRIPTION
This function applies only the the E1432 option 204 firmware.

These functions are used to read frequency spectrum data that has been
requested with the \fIe1432_request_spectrum\fR function.  Before
calling either of these functions, the host application must first
call \fIe1432_check_spectrum\fR to ensure that the spectrum is ready.

\fIhw\fR must be the result of a successful call to
\fIe1432_assign_channel_numbers\fR, and specifies the group of
hardware to talk to.

\fIID\fR is either the ID of a group of channels that was obtained with a
call to \fIe1432_create_channel_group\fR, or the ID of a single
channel.

\fIbuf\fR specifies a buffer that the data will be put in.  The
requirements for this buffer are the same as for
\fIe1432_read_float32_data\fR or \fIe1432_read_float64_data\fR.  The
buffer should be big enough to hold a single spectrum (if \fIID\fR is
a channel ID) or all spectrums from each channel in a group (if
\fIID\fR is a group ID).

If the requested spectrum has averaging of type \fBE1432_AVG_RMS\fR,
\fBE1432_AVG_EXPO\fR, or \fBE1432_AVG_PEAK\fR, then each spectrum
contains magnitude-squared data, and the number of values in the
spectrum is equal to one-half of the original requested blocksize.
Otherwise, each spectrum contains complex data, and the numberof
values in the spectrum is equal to the original requested blocksize
(the number of points is blocksize/2, but each point is complex).

\fIsize\fR is the size, in data points, of \fIbuf\fR.

\fItrailer\fR is a pointer to a structure of type \fIstruct
e1432_trailer\fR.  This parameter is ignored unless append status is
on (see \fIe1432_set_append_status\fR).  If append status is on, and
if this parameter is non-NULL, then the \fItrailer\fR structure is
filled in with trailer data.  If the \fIID\fR is a group ID, then
\fItrailer\fR must point to an array of structures, one for each
channel in the group.

\fIactualCount\fR is a pointer to a long integer.  It is set to the
actual number of data points transferred into \fIbuf\fR.  It will
always be less than or equal to \fIsize\fR.

.SH "RESET VALUE"
Not applicable.
.SH "RETURN VALUE"
Return 0 if successful, a (negative) error number otherwise.
.SH "SEE ALSO"
.na
e1432_check_spectrum, e1432_request_spectrum.
.ad
